[INFO] cloning repository https://github.com/tomial/rustlings
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tomial/rustlings" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomial%2Frustlings", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomial%2Frustlings'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c1b9b31430f4b0092262f2330036b105bf3b05cf
[INFO] fixing tomial/rustlings against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftomial%2Frustlings" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tomial/rustlings
[INFO] finished tweaking git repo https://github.com/tomial/rustlings
[INFO] tweaked toml for git repo https://github.com/tomial/rustlings written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tomial/rustlings on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tomial/rustlings already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a4e566ee30e5cc5b5b1a65bbac667d5b64ddd1ab226ca7197af264253c481138
[INFO] running `Command { std: "docker" "start" "a4e566ee30e5cc5b5b1a65bbac667d5b64ddd1ab226ca7197af264253c481138", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a4e566ee30e5cc5b5b1a65bbac667d5b64ddd1ab226ca7197af264253c481138" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a4e566ee30e5cc5b5b1a65bbac667d5b64ddd1ab226ca7197af264253c481138", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a4e566ee30e5cc5b5b1a65bbac667d5b64ddd1ab226ca7197af264253c481138" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]     Checking exercises v0.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> exercises/09_strings/strings3.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn trim_me(input: &str) -> &str {
[INFO] [stdout]   |    -------                 ^^^^ expected `&str`, found `()`
[INFO] [stdout]   |    |
[INFO] [stdout]   |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]   |
[INFO] [stdout] help: consider returning the local binding `input`
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn trim_me(input: &str) -> &str {
[INFO] [stdout] 2 ~     input
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> exercises/09_strings/strings3.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn compose_me(input: &str) -> String {
[INFO] [stdout]   |    ----------                 ^^^^^^ expected `String`, found `()`
[INFO] [stdout]   |    |
[INFO] [stdout]   |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> exercises/09_strings/strings3.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn replace_me(input: &str) -> String {
[INFO] [stdout]   |    ----------                 ^^^^^^ expected `String`, found `()`
[INFO] [stdout]   |    |
[INFO] [stdout]   |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found `,`
[INFO] [stdout]   --> exercises/15_traits/traits4.rs:14:40
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn compare_license_types(software1: ???, software2: ???) -> bool {
[INFO] [stdout]    |                                        ^ expected identifier
[INFO] [stdout]    |
[INFO] [stdout] help: remove this comma
[INFO] [stdout]    |
[INFO] [stdout] 14 - fn compare_license_types(software1: ???, software2: ???) -> bool {
[INFO] [stdout] 14 + fn compare_license_types(software1: ??? software2: ???) -> bool {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected a trait, found type
[INFO] [stdout]   --> exercises/15_traits/traits4.rs:14:39
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn compare_license_types(software1: ???, software2: ???) -> bool {
[INFO] [stdout]    |                                       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found `)`
[INFO] [stdout]   --> exercises/15_traits/traits4.rs:14:56
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn compare_license_types(software1: ???, software2: ???) -> bool {
[INFO] [stdout]    |                                                        ^ expected identifier
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> exercises/12_options/options1.rs:5:41
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn maybe_ice_cream(hour_of_day: u16) -> Option<u16> {
[INFO] [stdout]   |    ---------------                      ^^^^^^^^^^^ expected `Option<u16>`, found `()`
[INFO] [stdout]   |    |
[INFO] [stdout]   |    implicitly returns `()` as its body has no tail or `return` expression
[INFO] [stdout]   |
[INFO] [stdout]   = note:   expected enum `Option<u16>`
[INFO] [stdout]           found unit type `()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "options1") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: for loop over an `Option`. This is more readably written as an `if let` statement
[INFO] [stdout]  --> exercises/22_clippy/clippy2.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     for x in option {
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]   |
[INFO] [stdout] 5 -     for x in option {
[INFO] [stdout] 5 +     while let Some(x) = option {
[INFO] [stdout]   |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]   |
[INFO] [stdout] 5 -     for x in option {
[INFO] [stdout] 5 +     if let Some(x) = option {
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `fruit` in module `delicious_snacks`
[INFO] [stdout]   --> exercises/10_modules/modules2.rs:23:27
[INFO] [stdout]    |
[INFO] [stdout] 23 |         delicious_snacks::fruit,
[INFO] [stdout]    |                           ^^^^^ not found in `delicious_snacks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `veggie` in module `delicious_snacks`
[INFO] [stdout]   --> exercises/10_modules/modules2.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |         delicious_snacks::veggie,
[INFO] [stdout]    |                           ^^^^^^ not found in `delicious_snacks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "strings3" test) due to 3 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stdout] error: expected type, found `{`
[INFO] [stdout]   --> exercises/02_functions/functions4.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn sale_price(price: i64) -> {
[INFO] [stdout]    |                              ^ expected type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `if` and `else` have incompatible types
[INFO] [stdout]   --> exercises/03_if/if3.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout]  7 |       } else if animal == "snake" {
[INFO] [stdout]    |  ____________-
[INFO] [stdout]  8 | |         3
[INFO] [stdout]    | |         - expected because of this
[INFO] [stdout]  9 | |     } else {
[INFO] [stdout] 10 | |         "Unknown"
[INFO] [stdout]    | |         ^^^^^^^^^ expected integer, found `&str`
[INFO] [stdout] 11 | |     };
[INFO] [stdout]    | |_____- `if` and `else` have incompatible types
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "functions4" test) due to 1 previous error
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]  --> exercises/09_strings/strings1.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | fn current_favorite_color() -> String {
[INFO] [stdout]   |                                ------ expected `String` because of return type
[INFO] [stdout] 3 |     "blue"
[INFO] [stdout]   |     ^^^^^^ expected `String`, found `&str`
[INFO] [stdout]   |
[INFO] [stdout] help: try using a conversion method
[INFO] [stdout]   |
[INFO] [stdout] 3 |     "blue".to_string()
[INFO] [stdout]   |           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> exercises/13_error_handling/errors3.rs:23:46
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn main() {
[INFO] [stdout]    | --------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 23 |     let cost = total_cost(pretend_user_input)?;
[INFO] [stdout]    |                                              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn main() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |           +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `software1` in this scope
[INFO] [stdout]   --> exercises/15_traits/traits4.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     software1.licensing_info() == software2.licensing_info()
[INFO] [stdout]    |     ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `software2` in this scope
[INFO] [stdout]   --> exercises/15_traits/traits4.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     software1.licensing_info() == software2.licensing_info()
[INFO] [stdout]    |                                   ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "modules2" test) due to 2 previous errors
[INFO] [stderr] error: could not compile `exercises` (bin "traits4" test) due to 5 previous errors
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] 
[INFO] [stdout] error[E0499]: cannot borrow `x` as mutable more than once at a time
[INFO] [stdout]   --> exercises/06_move_semantics/move_semantics4.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let y = &mut x;
[INFO] [stdout]    |                 ------ first mutable borrow occurs here
[INFO] [stdout] 13 |         let z = &mut x;
[INFO] [stdout]    |                 ^^^^^^ second mutable borrow occurs here
[INFO] [stdout] 14 |         y.push(42);
[INFO] [stdout]    |         - first borrow later used here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "errors3" test) due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0499`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "strings1") due to 1 previous error
[INFO] [stderr] error: could not compile `exercises` (bin "move_semantics4" test) due to 1 previous error
[INFO] [stderr] error: could not compile `exercises` (bin "if3" test) due to 1 previous error
[INFO] [stdout] error[E0277]: cannot divide `f64` by `usize`
[INFO] [stdout]  --> exercises/23_conversions/using_as.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 |     total / values.len()
[INFO] [stdout]   |           ^ no implementation for `f64 / usize`
[INFO] [stdout]   |
[INFO] [stdout]   = help: the trait `Div<usize>` is not implemented for `f64`
[INFO] [stdout] help: the following other types implement trait `Div<Rhs>`
[INFO] [stdout]  --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/ops/arith.rs:511:8
[INFO] [stdout]   |
[INFO] [stdout]   = note: `f64` implements `Div`
[INFO] [stdout]  ::: /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/ops/arith.rs:524:0
[INFO] [stdout]   |
[INFO] [stdout]   = note: in this macro invocation
[INFO] [stdout]  --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/internal_macros.rs:22:8
[INFO] [stdout]   |
[INFO] [stdout]   = note: `&f64` implements `Div<f64>`
[INFO] [stdout]  ::: /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/internal_macros.rs:33:8
[INFO] [stdout]   |
[INFO] [stdout]   = note: `f64` implements `Div<&f64>`
[INFO] [stdout]  ::: /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/internal_macros.rs:44:8
[INFO] [stdout]   |
[INFO] [stdout]   = note: `&f64` implements `Div`
[INFO] [stdout]   = note: this error originates in the macro `div_impl_float` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `your_character` in this scope
[INFO] [stdout]   --> exercises/04_primitive_types/primitive_types2.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 |     if your_character.is_alphabetic() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `your_character` in this scope
[INFO] [stdout]   --> exercises/04_primitive_types/primitive_types2.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     } else if your_character.is_numeric() {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "using_as" test) due to 1 previous error
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `exercises` (bin "primitive_types2" test) due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "a4e566ee30e5cc5b5b1a65bbac667d5b64ddd1ab226ca7197af264253c481138", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4e566ee30e5cc5b5b1a65bbac667d5b64ddd1ab226ca7197af264253c481138", kill_on_drop: false }`
[INFO] [stdout] a4e566ee30e5cc5b5b1a65bbac667d5b64ddd1ab226ca7197af264253c481138
